///******************************************************************************* // * Copyright (c) 2000, 2007 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - Bits of importWizard from DeprecatedUIWizards // * Red Hat, Inc - initial API and implementation // *******************************************************************************/ // //package org.eclipse.ui.tests.datatransfer; // //import java.io.File; //import java.io.IOException; //import java.lang.reflect.InvocationTargetException; //import java.net.URL; //import java.util.ArrayList; //import java.util.HashSet; //import java.util.zip.ZipFile; // //import org.eclipse.core.resources.IFolder; //import org.eclipse.core.resources.IProject; //import org.eclipse.core.resources.IResource; //import org.eclipse.core.resources.IWorkspaceRoot; //import org.eclipse.core.resources.ResourcesPlugin; //import org.eclipse.core.runtime.CoreException; //import org.eclipse.core.runtime.IPath; //import org.eclipse.core.runtime.IProgressMonitor; //import org.eclipse.core.runtime.NullProgressMonitor; //import org.eclipse.core.runtime.Path; //import org.eclipse.core.runtime.Platform; //import org.eclipse.core.runtime.jobs.Job; //import org.eclipse.core.tests.harness.FileSystemHelper; //import org.eclipse.jface.dialogs.IDialogSettings; //import org.eclipse.jface.operation.IRunnableWithProgress; //import org.eclipse.jface.viewers.CheckboxTreeViewer; //import org.eclipse.jface.wizard.WizardDialog; //import org.eclipse.swt.SWT; //import org.eclipse.swt.layout.GridLayout; //import org.eclipse.swt.widgets.Composite; //import org.eclipse.swt.widgets.Shell; //import org.eclipse.ui.PlatformUI; //import org.eclipse.ui.internal.WorkbenchPlugin; //import org.eclipse.ui.internal.dialogs.ImportExportWizard; //import org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage; //import org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage.ProjectRecord; //import org.eclipse.ui.tests.TestPlugin; //import org.eclipse.ui.tests.harness.util.DialogCheck; //import org.eclipse.ui.tests.harness.util.FileTool; //import org.eclipse.ui.tests.harness.util.FileUtil; //import org.eclipse.ui.tests.harness.util.UITestCase; // //public class ImportExistingProjectsWizardTest extends UITestCase { // private static final String DATA_PATH_PREFIX = "data/org.eclipse.datatransferArchives/"; // private static final String WS_DATA_PREFIX = "data/workspaces"; // private static final String WS_DATA_LOCATION = "importExistingFromDirTest"; // private static final String ARCHIVE_HELLOWORLD = "helloworld"; // private static final String ARCHIVE_FILE_WITH_EMPTY_FOLDER = "EmptyFolderInArchive"; // // private static final String[] FILE_LIST = new String[] { "test-file-1.txt", // "test-file-2.doc", ".project" }; // // private static final String[] ARCHIVE_FILE_EMPTY_FOLDER_LIST = new String[] { // "empty", "folder" }; // // private String dataLocation = null; // // private String zipLocation = null; // // private boolean originalRefreshSetting; // // public ImportExistingProjectsWizardTest(String testName) { // super(testName); // } // // private Shell getShell() { // return DialogCheck.getShell(); // } // // protected void doSetUp() throws Exception { // super.doSetUp(); // originalRefreshSetting = ResourcesPlugin.getPlugin() // .getPluginPreferences().getBoolean( // ResourcesPlugin.PREF_AUTO_REFRESH); // ResourcesPlugin.getPlugin().getPluginPreferences().setValue( // ResourcesPlugin.PREF_AUTO_REFRESH, true); // } // // protected void doTearDown() throws Exception { // super.doTearDown(); // IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot(); // IProject[] projects = wsRoot.getProjects(); // for (int i = 0; i < projects.length; i++) { // FileUtil.deleteProject(projects[i]); // } // // clean up any data directories created // if (dataLocation != null) { // File root = new File(dataLocation); // if (root.exists()) { // FileSystemHelper.clear(root); // } // } // dataLocation = null; // reset for next test // // // do same for zip location // if (zipLocation != null) { // File root = new File(zipLocation); // if (root.exists()) { // // zipLocation is the zip file, not the temp directory it was // // copied to // FileSystemHelper.clear(root.getParentFile()); // } // } // zipLocation = null; // reset for next test // // ResourcesPlugin.getPlugin().getPluginPreferences().setValue( // ResourcesPlugin.PREF_AUTO_REFRESH, originalRefreshSetting); // } // // private void waitForRefresh() { // try { // PlatformUI.getWorkbench().getProgressService().busyCursorWhile( // new IRunnableWithProgress() { // public void run(IProgressMonitor monitor) // throws InterruptedException { // Job.getJobManager().join( // ResourcesPlugin.FAMILY_AUTO_REFRESH, // new NullProgressMonitor()); // } // }); // } catch (InvocationTargetException e) { // fail(e.getLocalizedMessage()); // } catch (InterruptedException e) { // fail(e.getLocalizedMessage()); // } // } // // public void testFindSingleZip() { // try { // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".zip"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // } catch (IOException e) { // fail(e.toString()); // } // } // // public void testFindSingleTar() { // try { // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".tar"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in tar", // projectNames.containsAll(projects)); // } catch (IOException e) { // fail(e.toString()); // } // } // // public void testFindSingleDirectory() { // try { // dataLocation = copyDataLocation(); // IPath wsPath = new Path(dataLocation).append("HelloWorld"); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // We're importing a directory // wpip.getProjectFromDirectoryRadio().setSelection((true)); // wpip.updateProjectsList(wsPath.toOSString()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in directory", // projectNames.containsAll(projects)); // } catch (IOException e) { // fail(e.toString()); // } // } // // public void testDoNotShowProjectWithSameName() { // try { // dataLocation = copyDataLocation(); // IPath wsPath = new Path(dataLocation); // // FileUtil.createProject("HelloWorld"); // // WizardProjectsImportPage wpip = getNewWizard(); // // We're importing a directory // wpip.getProjectFromDirectoryRadio().setSelection((true)); // wpip.updateProjectsList(wsPath.toOSString()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertEquals("there should only be the WorldHello project left", 1, // projectNames.size()); // // assertTrue( // "HelloWorld project should not be found in project list.", // !projectNames.contains("HelloWorld")); // } catch (Exception e) { // fail(e.toString()); // } // } // // public void testImportSingleZip() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".zip"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // // } // // public void testImportZipWithEmptyFolder() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_FILE_WITH_EMPTY_FOLDER + ".zip"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("A"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], // ARCHIVE_FILE_EMPTY_FOLDER_LIST, false); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // } // // public void testImportSingleTar() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".tar"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in tar", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // // } // // public void testImportTarWithEmptyFolder() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_FILE_WITH_EMPTY_FOLDER + ".tar"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("A"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in tar", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported: Expected=1, Actual=" // + workspaceProjects.length); // IFolder helloFolder = workspaceProjects[0].getFolder("A"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], // ARCHIVE_FILE_EMPTY_FOLDER_LIST, false); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // // } // // public void testImportSingleDirectory() { // IPath wsPath = null; // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // // dataLocation = copyDataLocation(); // wsPath = new Path(dataLocation).append("HelloWorld"); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((true)); // wpip.updateProjectsList(wsPath.toOSString()); // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in directory", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(false, workspaceProjects[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // } // // public void testImportSingleDirectoryWithCopy() { // IPath wsPath = null; // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // // dataLocation = copyDataLocation(); // wsPath = new Path(dataLocation).append("HelloWorld"); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((true)); // wpip.getCopyCheckbox().setSelection(true); // wpip.saveWidgetValues(); // wpip.restoreWidgetValues(); // // wpip.updateProjectsList(wsPath.toOSString()); // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // } // // public void testImportSingleDirectoryWithCopyDeleteProjectKeepContents() { // IPath wsPath = null; // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // // dataLocation = copyDataLocation(); // wsPath = new Path(dataLocation).append("HelloWorld"); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((true)); // wpip.getCopyCheckbox().setSelection(true); // wpip.saveWidgetValues(); // wpip.restoreWidgetValues(); // // wpip.updateProjectsList(wsPath.toOSString()); // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported: " // + workspaceProjects.length + " projects in workspace."); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // // delete projects in workspace but not contents // for (int i = 0; i < workspaceProjects.length; i++) { // workspaceProjects[i].delete(false, true, null); // } // assertTrue("Test project not deleted successfully.", root // .getProjects().length == 0); // // // perform same test again, but this time import from this workspace // final WizardProjectsImportPage wpip2 = getNewWizard(); // HashSet projects2 = new HashSet(); // projects2.add("HelloWorld"); // // wpip2.getProjectFromDirectoryRadio().setSelection((true)); // wpip2.getCopyCheckbox().setSelection(true); // wpip2.saveWidgetValues(); // wpip2.restoreWidgetValues(); // // wpip2.updateProjectsList(wsPath.toOSString()); // ProjectRecord[] selectedProjects2 = wpip2.getValidProjects(); // assertTrue("Not all projects were found correctly in zip (2).", // selectedProjects2.length == 1); // // ArrayList projectNames2 = new ArrayList(); // for (int i = 0; i < selectedProjects2.length; i++) { // projectNames2.add(selectedProjects2[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip (2)", // projectNames2.containsAll(projects2)); // // CheckboxTreeViewer projects2List = wpip2.getProjectsList(); // projects2List.setCheckedElements(selectedProjects2); // wpip2.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself (2)"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // } // // public void testImportZipDeleteContentsImportAgain() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".zip"))); // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(archiveFile.getPath()); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 1) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("Project was imported as a folder into itself"); // // verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST, // true); // // // delete projects in workspace but not contents // for (int i = 0; i < workspaceProjects.length; i++) { // workspaceProjects[i].delete(true, true, null); // } // assertTrue("Test project not deleted successfully.", root // .getProjects().length == 0); // // // import again // IProject[] workspaceProjects2 = root.getProjects(); // for (int i = 0; i < workspaceProjects2.length; i++) // FileUtil.deleteProject(workspaceProjects2[i]); // URL archiveFile2 = Platform.asLocalURL(Platform.find(TestPlugin // .getDefault().getBundle(), new Path(DATA_PATH_PREFIX // + ARCHIVE_HELLOWORLD + ".zip"))); // WizardProjectsImportPage wpip2 = getNewWizard(); // HashSet projects2 = new HashSet(); // projects2.add("HelloWorld"); // // wpip2.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip2.updateProjectsList(archiveFile2.getPath()); // // ProjectRecord[] selectedProjects2 = wpip2.getValidProjects(); // ArrayList projectNames2 = new ArrayList(); // for (int i = 0; i < selectedProjects2.length; i++) { // projectNames2.add(selectedProjects2[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip (2)", // projectNames2.containsAll(projects2)); // // CheckboxTreeViewer projectsList2 = wpip2.getProjectsList(); // projectsList2.setCheckedElements(selectedProjects2); // wpip2.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects2 = root.getProjects(); // if (workspaceProjects2.length != 1) // fail("Incorrect Number of projects imported (2)"); // IFolder helloFolder2 = workspaceProjects2[0] // .getFolder("HelloWorld"); // if (helloFolder2.exists()) // fail("Project was imported as a folder into itself (2)"); // // verifyProjectInWorkspace(true, workspaceProjects2[0], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // // } // // public void testImportArchiveMultiProject() { // try { // IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // zipLocation = copyZipLocation(); // // IProject[] workspaceProjects = root.getProjects(); // for (int i = 0; i < workspaceProjects.length; i++) // FileUtil.deleteProject(workspaceProjects[i]); // // WizardProjectsImportPage wpip = getNewWizard(); // HashSet projects = new HashSet(); // projects.add("HelloWorld"); // projects.add("WorldHello"); // // wpip.getProjectFromDirectoryRadio().setSelection((false)); // We // // want // // the // // other // // one // // selected // wpip.updateProjectsList(zipLocation); // // ProjectRecord[] selectedProjects = wpip.getValidProjects(); // ArrayList projectNames = new ArrayList(); // for (int i = 0; i < selectedProjects.length; i++) { // projectNames.add(selectedProjects[i].getProjectName()); // } // // assertTrue("Not all projects were found correctly in zip", // projectNames.containsAll(projects)); // // CheckboxTreeViewer projectsList = wpip.getProjectsList(); // projectsList.setCheckedElements(selectedProjects); // wpip.createProjects(); // Try importing all the projects we found // waitForRefresh(); // // // "HelloWorld" should be the only project in the workspace // workspaceProjects = root.getProjects(); // if (workspaceProjects.length != 2) // fail("Incorrect Number of projects imported"); // IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld"); // if (helloFolder.exists()) // fail("HelloWorld was imported as a folder into itself"); // IFolder folder2 = workspaceProjects[0].getFolder("WorldHello"); // if (folder2.exists()) // fail("WorldHello was imported as a folder into itself"); // // for (int i = 0; i < workspaceProjects.length; i++) // verifyProjectInWorkspace(true, workspaceProjects[i], FILE_LIST, // true); // // } catch (IOException e) { // fail(e.toString()); // } catch (CoreException e) { // fail(e.toString()); // } // } // // /** // * Verify whether or not the imported project is in the current workspace // * location (i.e. copy projects was true) or in another workspace location // * (i.e. copy projects was false). // * // * @param inWorkspace // * @param project // */ // private void verifyProjectInWorkspace(final boolean inWorkspace, // final IProject project, String[] fileList, boolean isListFiles) { // // IPath rootLocation = ResourcesPlugin.getWorkspace().getRoot() // .getLocation(); // IPath projectLocation = project.getLocation(); // boolean isProjectInWorkspace = rootLocation.isPrefixOf(projectLocation); // if (inWorkspace) { // if (!isProjectInWorkspace) // fail(project.getName() // + " should be in the workspace location: " // + rootLocation.toOSString()); // } else { // if (isProjectInWorkspace) // fail(project.getName() // + " should not be in the workspace location: " // + rootLocation.toOSString()); // } // StringBuffer filesNotImported = new StringBuffer(); // // make sure the files in the project were imported // for (int i = 0; i < fileList.length; i++) { // IResource res = isListFiles ? (IResource) project // .getFile(fileList[i]) : (IResource) project // .getFolder(fileList[i]); // if (!res.exists()) // filesNotImported.append(res.getName() + ", "); // } // assertTrue("Files expected but not in workspace: " // + filesNotImported.toString(), filesNotImported.length() == 0); // } // // /** // * Copies the data to a temporary directory and returns the new location. // * // * @return the location // */ // private String copyDataLocation() throws IOException { // TestPlugin plugin = TestPlugin.getDefault(); // if (plugin == null) // throw new IllegalStateException( // "TestPlugin default reference is null"); // // URL fullPathString = plugin.getDescriptor().find( // new Path(WS_DATA_PREFIX).append(WS_DATA_LOCATION + ".zip")); // // if (fullPathString == null) // throw new IllegalArgumentException(); // // IPath path = new Path(fullPathString.getPath()); // // File origin = path.toFile(); // if (!origin.exists()) // throw new IllegalArgumentException(); // // ZipFile zFile = new ZipFile(origin); // // File destination = new File(FileSystemHelper.getRandomLocation( // FileSystemHelper.getTempDir()).toOSString()); // FileTool.unzip(zFile, destination); // return destination.getAbsolutePath(); // } // // private String copyZipLocation() throws IOException { // TestPlugin plugin = TestPlugin.getDefault(); // if (plugin == null) // throw new IllegalStateException( // "TestPlugin default reference is null"); // // URL fullPathString = plugin.getDescriptor().find( // new Path(WS_DATA_PREFIX).append(WS_DATA_LOCATION + ".zip")); // // if (fullPathString == null) // throw new IllegalArgumentException(); // // IPath path = new Path(fullPathString.getPath()); // // File origin = path.toFile(); // if (!origin.exists()) // throw new IllegalArgumentException(); // // File destination = new File(FileSystemHelper.getRandomLocation( // FileSystemHelper.getTempDir()).toOSString() // + File.separator + ARCHIVE_HELLOWORLD + ".zip"); // FileTool.copy(origin, destination); // return destination.getAbsolutePath(); // } // // private WizardProjectsImportPage getNewWizard() { // ImportExportWizard wizard = new ImportExportWizard( // ImportExportWizard.IMPORT); // wizard.init(getWorkbench(), null); // IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault() // .getDialogSettings(); // IDialogSettings wizardSettings = workbenchSettings // .getSection("ImportExportTests"); // if (wizardSettings == null) // wizardSettings = workbenchSettings // .addNewSection("ImportExportTests"); // wizard.setDialogSettings(wizardSettings); // wizard.setForcePreviousAndNextButtons(true); // // WizardProjectsImportPage wpip = new WizardProjectsImportPage(); // // Shell shell = getShell(); // // WizardDialog dialog = new WizardDialog(shell, wizard); // dialog.create(); // dialog.getShell().setSize(Math.max(100, dialog.getShell().getSize().x), // 100); // // Composite parent = new Composite(shell, SWT.NONE); // parent.setLayout(new GridLayout()); // wpip.setWizard(dialog.getCurrentPage().getWizard()); // wpip.createControl(parent); // return wpip; // } //}